﻿using System.Threading;
using System.Threading.Tasks;

namespace UpperComputer.Application
{
    public interface IAuthorizeService
    {
        Task<VerificationResultDto> GetVerificationCode(CancellationToken cancellationToken = default);

        Task<LogoutDto> Login(LoginDto input, CancellationToken cancellationToken = default);

        Task<BaseUserResultDto> LoginWithNoVerificationCode(LoginBaseDto input, CancellationToken cancellationToken = default);

        Task Logout(CancellationToken cancellationToken = default);
    }
}
